package com.lee.automode;

import com.lee.ScanConfig;
import com.lee.config.ModelBeanFactoryPostProcessor;
import org.junit.jupiter.api.Test;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

/**
 * @Description TODO
 * @Author winston
 * @DateTime 2022/2/21
 */
public class AutoMode {

    @Test
    public void changeAutoMode() {
        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
        context.register(ScanConfig.class);// 扫描A,B,C 其中的bean, 并调用构造方法初始化
        // 默认使用默认的构造方法
        context.register(ModelBeanFactoryPostProcessor.class);
        // 设置setAutowireMode=3 现象是一直会用最后一个构造方法, 前提是构造方法参数在spring容器中有相应的bean实例.如果有更长的
        // 也会优先选择最长的那个
        context.refresh();
    }
}
